System for controlling power distribution to customer loads

ABSTRACT

A method and apparatus which permits a power utility to have direct control of customers loads (CD) with a view toward facilitating enablement of a load management philosophy which includes peak shaving and load deferral. A master control station (MCS), which comprises a programmable microprocessor-based central controller, is in two-way communication with a plurality of substation injection units (SIU), one of each of which is positioned at a separate substation of the power utility. Each substation injection unit (SIU), under the control of its own microprocessor, responds to master control signals from the master control station (MCS) to inject a pulse code signal onto the power lines of the utility. The system includes a plurality of remote receiver units (RRU) which are positioned at and connected to control the on and off times of customer loads (CD). Each remote receiver unit (RRU) is preset to respond to particular pulse code signals from the substation injection units (SIU) to carry out the desired command functions, which can be implemented either automatically or manually on a fixed or dynamic-cycle basis as the need arises. The system utilizes a command signal and pulse code signal verification technique to insure system integrity and reliability.

This application is a division, of application Ser. No. 53,710, filedJuly 2, 1979, now U.S. Pat. No. 4,348,668.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention is related to load management and control forpower utilities and, more particularly, is directed to a method andapparatus for permitting an electric utility to selectively controldistribution of its power to a plurality of customer loads.

2. Description of the Prior Art

Most electrical power utilities in the United States must constructtheir power generating plants with sufficient capacity to meet the totalcustomer power demand at any given point in time. This means thatalthough maximum or peak power demands may occur only relativelyinfrequently, when compared with the average power demand, the utilitymust nevertheless have the power generating capacity to meet the peakdemand. Many utilities therefore either pay for or charge theircustomers in accordance with peak power demands rather than average oractual power consumed. If the peak power demand periods can therefore beminimized or controlled, savings to the customer and utility will beeffected.

The foregoing situation has led to the development of load managementsystems for use by electric power utilities which permit them to controlpeak demands on the power generating equipment by turning off and onvarious customer loads during various times. Various types of customerloads which can be regulated in this manner to control and minimize peakpower demand include, for example, electric hot water heaters, airconditioning compressors, electric space heaters, and the like.

One type of load management control technique is known as the rippletone injection method. In such a system, audio frequency pulses arecoded by control function and are impressed directly onto the utility'spower lines. Receivers located at the customer loads respond to thecoded pulses to effect the desired command function.

It is known to provide electomechanical ripple control transmitters,consisting of a motor/alternator set operating through thyristor staticswitches, to apply the pulse coding to the power lines. It has alsorecently been proposed to utilize static frequency converters,consisting of a static inverter and suitable coupling network, for aripple control transmitter. See, for example, "Pulse Coded Inverter ForUtility Load Management System", Galloway and Berman, IAS 1977 Annual,pages 149 through 155.

Known U.S. Pat. Nos. which relate to power load management include:3,359,551; 3,886,332; 3,972,470; 4,064,485; 4,075,699; and 4,130,874.

In U.S. Pat. No. 3,359,551, for example, a system is disclosed forcontrolling the operation of a power distribution network in whichsignals are transmitted over power lines to a plurality of receiverswhich perform electrical circuit connections and disconnections inresponse to the received signals. In this system, the signals containaddress and command information so that one of a plurality of receiversare selected in response to the address portion and a predeterminedfunction is performed in response to the command portion. Thetransmitter at a selected location employs derivatives of these signalsto produce predetermined sequences of relatively high frequency carrierbursts to be fed to the power lines for distribution to tuned receiversat the other end of the line.

In U.S. Pat. No. 4,075,699, a power monitoring and load shedding systemis described which includes power consumption metering for enteringoverall power consumption into a central processing unit. Circuitry isprovided for the central processing unit to turn local and remote loadson and off in accordance with stored energy consumption projecting andload shedding algorithms.

While each of the prior art systems appear useful in a given context, apractical, centralized load management control system for electricutilities must be cost effective in order that the savings resultingfrom load management outweighs the cost to the utility and the consumerof the load management system. It is toward achieving this broadobjective that the present invention is advanced.

OBJECTS OF THE INVENTION

It is therefore a primary object of the present invention to provide aload management system for electric power utilities which is costeffective, reliable, easy to operate and maintain, and is modular inconstruction so as to be adaptable for controlling a wide range ofcustomer loads.

Another object of the present invention is to provide a method andapparatus for permitting an electric power utility to directly orindirectly control customer loads, either automatically or manually, inaccordance with pre-established control commands which may be varied orupdated as the utility deems necessary.

A further object of the present invention is to provide a loadmanagement system for electric power utilities which utilizes a centralcontrol that provides an emergency load shedding control capability thatallows the utility to maintain essential customer loads while droppingless essential loads for brief time periods to maintain systemintegrity.

A further object of the present invention is to provide an electricpower utility with the capability of load management at minimum cost byutilizing proven components combined in a novel manner to provide thecentral operator of the system with updated status and alarm informationconcerning any of the substation units in order that corrective actioncan be taken.

A still further object of the present invention is to provide a loadmanagement system for electric power utilities which utilizes standardtelephone line data links between the master station and the substationunits, and the power distribution lines as a communication link betweenthe substation units and the load-controlling receivers.

An additional object of the present invention is to provide a loadmanagement system for electric power utilities which permits systemparameters to be fed back to the master control station from thesubstations to provide instantaneous updating of operating parameterswhich can be taken into account in load management decisions.

A still further object of the present invention is to provide a methodof managing customer loads which incorporates reliability checks andcommunications integrity to insure proper operation.

SUMMARY OF THE INVENTION

The foregoing and other objects of the invention are attained inaccordance with one aspect of the present invention through theprovision of a system for permitting an electric power utility tocontrol the distribution of its power along its power lines from asubstation to a plurality of customer loads, which comprises a mastercontrol station including first programmable digital data processormeans and input/output devices under the control of an operator forgenerating master control signals, at least one substation injectionunit located at the substation and in communication with the mastercontrol station and operating under the control of second programmabledigital data processor means for injecting in response to certain of themaster control signals pulse code signals onto the power lines, and aplurality of remote receiver units each connected to a particular loaddevice and to the power lines for receiving the pulse code signals, eachof the remote receiver units responsive to one of the pulse code signalsfor connecting or disconnecting its load from the power lines.

The substation injection unit more particularly comprises means forconverting the frequency of a standard three-phase power line voltagesignal generated at the substation to a preselected frequency desiredfor the pulse code signals, means responsive to the second dataprocessor means for controlling the output of the frequency convertingmeans to generate said pulse code signals, and means for injecting thepulse code signals onto the power lines for transmission to the remotereceiver units.

In accordance with more specific aspects of the present invention, thefrequency converting means comprises three-phase rectifier meansincluding a plurality of conduction controlled solid state devices underthe control of the second data processor means for receiving thethree-phase power line voltage signal and for developing a DC voltagesignal of a predetermined level, and three-phase inverter meansincluding a plurality of conduction controlled solid state devices alsounder the control of the second data processor means for receiving theDC voltage signal from the rectifier means and for converting same tothe pulse code signal at the preselected frequency. The second dataprocessor means includes means for controlling communications betweenthe master control station and the substation injection unit.

In accordance with other aspects of the present invention, the injectingmeans comprises transformer means whose primary is connected to receivesaid pulse code signals for transforming the relatively low voltagethereof to a higher voltage and current for injection onto the powerlines, and tuned circuit means connected to the secondary of thetransformer means and tuned to the preselected frequency for passing thepulse code signals to the power output bus of the substation. The systemfurther includes input power contactor means connected in series withthe rectifier means for connecting and disconnecting same to thethree-phase power line voltage signal, output power contactor meansconnected in series with the inverter means for connecting anddisconnecting same to the power lines, and power breaker means connectedin series with the input and output power contactor means and includinga shunt trip circuit responsive to fault conditions for tripping thepower breaker means and opening the input and output power contactormeans. The system further includes means for sensing the faultconditions, including means for sensing overtemperature of the solidstate devices in the inverter means, means for sensing excessive shiftof the neutral line of the power lines, means for sensing overcurrent inthe output of the rectifier means, and means for sensing short circuitsacross the DC bus of the inverter means.

In accordance with another aspect of the present invention, thesubstation injection unit further comprises means connected to the powerlines for detecting each pulse in the pulse code signals, and means inthe second data processor means for determining whether the outputs ofthe pulse detecting means consist of a properly shaped and timed pulse.The substation injection unit may further include analog input means forconnecting one or more analog inputs at the substation indicative of oneor more system parameters for transmission to the master controlstation, and discrete input means for connecting one or more discreteinputs at the substation indicative of one or more system parameters fortransmission to the master control station.

The means for controlling the output of the frequency converting meansmore particularly comprises means for controlling the firing time of thesolid state devices in the three-phase rectifier means to select one ofa plurality of output voltage levels as the predetermined level, andmeans for controlling the firing time and sequence of the solid statedevices in the three-phase inverter means to establish an idle mode andan inject mode for the inverter means, the idle mode corresponding tothe absence of a pulse in the pulse code signals, while the inject modecorresponds to the presence of a pulse in the pulse code signal at thepreselected frequency.

The means for controlling the firing time of the solid state devices inthe three-phase rectifier means includes means for receiving thethree-phase voltage waveforms from the power line, means for determiningwhen each of the voltage waveforms is greater than the other twowaveforms and for providing output signals thereupon, and meansresponsive to said output signals of said determining means for turningon and off the gates of the solid state devices in the rectifier means.Also provided are means connected to the second data processor means forreceiving an indication of the desired output voltage level of therectifier means, and time delay means connected to the determining meansand the voltage level receiving means for delaying the output of thedetermining means for a period of time in accordance with the desiredoutput voltage level.

The means for controlling the firing time and sequence of the solidstate devices in the three-phase inverter means comprises first meansresponsive to a mode select address signal from the second dataprocessor means for selecting either the idle mode or the inject mode,second means responsive to the first means for generating registeroutput timing signals, and register means responsive to the first andsecond means for providing gate signals in a predetermined order to thesolid state devices in the three-phase rectifier means.

The master control station preferably includes means for polling each ofthe substation injection units to obtain information pertaining to itsstatus, possible alarm conditions, and analog or discrete data generatedat the respective substation, means for transmitting and receivingserial binary block messages to and from each of the substationinjection units, the block messages including substation injection unitaddress data, substation injection unit function commands and the datasignals, and means for prioritizing and executing group control commandsto be sent to the substation injection units.

In accordance with another aspect of the present invention, there isprovided a method for permitting an electric power utility to regulate aplurality of customer loads which comprises the steps of arranging thecustomer loads into individually controllable load control groups,establishing first, second and third types of control lists, each of thelists including at least one group control command for causing one ofthe load control groups to be turned on or off, actuating the first typeof control list upon command to execute its group commands once,actuating the second type of control list upon command to execute itsgroup control commands cyclically and repetitively, and actuating thethird type of control list upon command to execute its group controlcommands cyclically and repetitively while taking into account the powerdemand on the utility. The method includes the step of dynamicallyadjusting the on and off times of the loads in those of said controlgroups belonging to the third type of control list by monitoring theutility's system power demand and lengthening the off times of the loadsin those of the control groups in the third type of control list as thepower demand increases. As an alternative to real time monitoring of thesystem demand, a load profile table may established which is indicativeof the anticipated total power demand at predetermined intervals oftime, the on and off times of the loads in those of the control groupsbelonging to the third type of control list being adjusted by comparingthe actual time with the load profile table. The method alsocontemplates the steps of periodically scanning each of the controllists to determine whether it should be activated or deactivated,periodically checking each of the group control commands in those of thelists that are activated to determine whether the command should becarried out, and generating data signals for those of the activatedgroup commands when it is time to carry out the command.

In accordance with yet another aspect of the present invention, there isprovided, in a system for controlling power distribution from aplurality of utility substations to a plurality of loads wherein amaster control station under the control of an operator is in two-waycommunication with a plurality of microprocessor controlled substationinjection units located respectively at the plurality of substations, amethod of injecting a pulse code signal representing the desired controlcommand onto the utility's power lines for transmission to receiverslocated at the loads comprising the steps of transmitting a first binaryinjection message representing a desired control command from the mastercontrol station to each of the plurality of substation injection unitsin turn, transmitting a second binary injection message representing thedesired control command received in the previous step from each of thesubstation injection units to turn to the master control station,verifying at the master control station that the second binary messageis the same as the first binary message, transmitting a binary commencekeying command signal from the master control station to all of thesubstation injection units simultaneously, generating a pulse codesignal representing the first binary injection message at each of thesubstation injection units previously verified, and injecting the pulsecode signals onto the utility's power lines for transmission to aplurality of coded receiver units remotely located at the loads toeffect the desired control command. The method further contemplates thesteps of positioning a special receiver unit in each of the substationinjection units for receiving, on a pulse-by-pulse basis, the pulse codesignal injected on the power lines, storing the outputs of each of thereceiver units in its respective substation injection unit until thefull pulse code signal has been injected, and transmitting the storedoutputs from each substation injection unit to the master controlstation in turn to verify that the desired control command has beeneffected.

BRIEF DESCRIPTION OF THE DRAWINGS

Various objects, features and attendant advantages of the presentinvention will be more fully appreciated as the same becomes betterunderstood with reference to the following detailed description of thepresent invention when considered in connection with the accompanyingdrawings, in which:

FIG. 1 is an overall block diagram of a preferred embodiment of thesystem of the present invention;

FIG. 2 illustrates the communication message format from the mastercontrol station to a substation injection unit;

FIG. 3 illustrates the communication message format from a substationinjection unit to the master control station;

FIG. 4 is a block diagram illustrating a preferred embodiment of aremote receiver unit;

FIG. 5 illustrates the format of the pulse code signals injected by thesubstation injection unit for transmission to the remote receiver units;

FIG. 6 is an overall block diagram of a preferred embodiment of asubstation injection unit;

FIG. 7 is a block diagram illustrating certain components of a statusand input/output board in the substation injection unit;

FIG. 8 is another block diagram illustrating the components of a pulseaccumulator positioned in the substation injection unit;

FIG. 9 is a block diagram of a rectifier controller of the substationinjection unit;

FIG. 10 is a block diagram of an inverter controller of the substationinjection unit;

FIG. 11 is a block diagram illustrating the software components of themaster control station;

FIGS. 12, 12a-12b is a flow chart of the programs utilized in the mastercontrol station;

FIGS. 13a-13d is a flow chart of the programs utilized in the substationinjection unit microprocessor;

and

FIG. 14 is a graph which illustrates a typical load profile tableutilized in the master control station.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT Table of Contents

I. General System Description

A. Master Control Station (MCS)

B. Substation Injection Unit (SIU)

C. Communications Between MCS And SIU

D. Remote Receiver Unit (RRU)

II. Load Management Strategy

III. MCS Software

IV. Substation Injection Unit

A. Overall Block Diagram

B. Rectifier Controller

C. Inverter Controller

D. SIU Software

I. GENERAL SYSTEM DESCRIPTION

Referring first to FIG. 1, there is illustrated a block diagram of apreferred embodiment of the load control system of the presentinvention. A master control station MCS is in two-way communication witha plurality of substation injection units SIU over voice grade telephonelines. Any of a number of substation injection units SIU may beemployed, one at each substation of the utility, depending upon thenumber of loads and areas desired to be controlled. Sixteen suchsubstation injection units SIU are illustrated by way of example.

Each of the substation injection units SIU is, in turn, connectedthrough the power lines of the electric company to a plurality of remotereceiver units RRU (up to 200,000 in the example) which, in turn, areeach connected to control the on and off times of a controlled device CDwhich may comprise, for example, an electric hot water heater, airconditioning compressor, or the like.

A. Master Control Station (MCS)

The master control station MCS preferably comprises amicroprocessor-based computer terminal, such as the Hewlett-PackardModel 9835A which, together with special internal programming anddesired input/output devices, serves as an operator interface and as theoriginator/coordinator of all control instructions to the substationinjection units SIU and the remote receiver units RRU. The mastercontrol station MCS may generate hard copy reports, archival records,activity files of control actions, operator interchanges, and maydisplay system alarm information. The operator of the master controlstation MCS may interrogate the system files, adjust automatic controlschedules and perform manual control action, in a manner to be describedin greater detail hereinafter.

Communication between the master control station MCS and each substationinjection unit SIU is over voice grade telephone lines utilizingstandard baud rate asynchronous FSK modems. This requires a modemconnected at the output of the MCS and at each input to an SIU. Themessage packets between the master control station MCS and eachsubstation injection unit SIU are fixed length strings of binarycharacters to be described in greater detail hereinafter.

B. Substation Injection Unit (SIU)

Each substation injection unit SIU consists broadly of three sections: acontroller C, a frequency changer FC and an injection network IN. Thecontroller C converts command and control messages from the mastercontrol station MCS into command signals for firing the solid stateconduction controlled rectifying devices for the rectifier and inverterof the frequency changer FC. The controller C also responds to requestsfrom the master control station MCS for alarm, status and datainformation. A special receiver is positioned in the substationinjection unit SIU which is monitored by the controller C to provideinformation pertaining to the power line injection signal, amplitude andpulse position. The monitored information is sent to the master controlstation MCS on request in order to permit verification of the accuracyof the pulse code pattern transmitted by the substation injection unitSIU.

The frequency changer FC of the substation injection unit SIU comprisesa 60 Hertz-to-injection frequency converter which rectifies the incomingpower line's three-phase 60 Hertz signal to form a DC voltage of acontrollable magnitude, which is then fed to a static inverter that isturned on and off under direction of the controller C to form the pulsecode signal which becomes the pulse code injection message that istransmitted to the remote receiver unit RRU on the power lines of theutility.

The injection network IN comprises a set of passive circuit elementsthat provide a basic insulation level and a low impedance path from thefrequency changer FC to the power line for the pulse code injectionmessage while at the same time providing a high impedance path to blockthe 60 Hertz power line energy.

C. Communications Between MCS and SIU

Referring now to FIG. 2, there is illustrated the preferred messageformat for communications from the master control station MCS to asubstation injection unit SIU. The block of data consists of ninecharacters of eight bits each. The first character is a frame synccharacter which preferably comprises an ASCII start of text character.Following frame sync is an eight bit character which defines aparticular substation injection unit SIU. The next character defines theparticular function that the master control station MCS wishes thesubstation injection unit SIU to perform, in accordance with Table 1below:

                  TABLE 1                                                         ______________________________________                                        MCS/SIU MESSAGE INTERCHANGE                                                   No.  Type    Command To SIU   SIU Response                                    ______________________________________                                        1.   B       Set New Injection                                                                              Injection Code                                               Code             Received                                        2.   A       Commence SIU Keying-                                                                           None                                                         All SIUs                                                         3.   B       Clear Command Register                                                                         Status and Command                                           SIU #N           Registers                                       4.   B       Report Status and                                                                              Status and Command                                           Command Registers                                                                              Registers                                       5.   B       Report Last Injection                                                                          Last Injection Code                                          Code             Sent                                            6.   B       Report Status and Data                                                                         Status and Data for                                          for Measurement Point                                                                          Measurement Point                               7.   C       Execute-SIU #N   Status and Command                                                            Registers                                       8.   B       Set Injection Power                                                                            Injection Power                                              Level            Level Received                                  ______________________________________                                    

Following the SIU function block are five eight bit data characters fordefining, for example, the forty bit pulse code desired to be injectedonto the power lines. At the end of the message block is a frame synccharacter which preferably comprises an ASCII end of test character.

Transmission of the blocks of characters illustrated in FIG. 2 from themaster control station MCS onto the telephone lines are received by allsubstation injection units concurrently. While most transmissions areaddressed to only one SIU, some may be addressed to all SIUs. Only anaddressed SIU will respond to a command from the MCS. The format of thecommunication transmissions from the SIU to the MCS illustrated in FIG.3 and is seen to essentially correspond with the MCS to SIUcommunication format illustrated in FIG. 2. In FIG. 3, each transmissionfrom an SIU to the MCS is preceded by a line settle period ofapproximately 200 milliseconds, while there is a 50 millisecond delaybetween the end of each SIU transmission and the start of the next MCScommand transmission. Each of the characters illustrated in FIGS. 2 and3 have a start, stop and optional parity bit. The overall messageconsists of a frame sync character, an SIU address character read froman internal constants register (rather than being a reflection of thein-bound station address from the MCS), an SIU function character, andfive data characters followed by an end of text character as the framesync. The carrier on and off intevals correspond to the times that themodem carrier of the SIU is turned on and off.

Table 1 above illustrates exemplary SIU function commands forwarded fromthe master control station MCS to the substation injection units SIU.These messages are encoded in the "SIU FUNCTION" block of FIG. 2. Thereare three general types of messages exchanged between the master controlstation MCS and the substation injection units SIU. Type A messages arerecognized by all substation injection units. There are no SIU responsesto the MCS for Type A messages since the SIUs are tied to a common partyline and their responses would be mutually interfering. Type B messagesare directed to a single SIU. Although the outbound message from themaster control station MCS is monitored and passed through the initialstages of processing and decoding by all SIUs, only the single SIU thathas a station address match with a station address code contained in theincoming message will continue the processing. Further, for Type Bmessages, the MCS receives a response from the addressed substationinjection unit SIU. Type C messages consist of an order executioncommand directed to one substation injection unit SIU. This messageenables execution of whatever command has been previously established ina software implemented command register in the addressed substationinjection unit SIU. In other words, the contents of the command registerin the addressed substation injection unit SIU has been previouslyestablished by a Type A or Type B message.

The message interchange between the master control station MCS and thesubstation injection unit SIU is based upon a setup-verify-executesequence of commands. Message Nos. 1, 3 and 8 in Table 1 are setupcommands. The substation injection unit SIU will store the receivedsetup command in an internal software implemented command register. Itwill also set an internal command pending flag which will remain set forapproximately 20 seconds. The substation injection unit SIU will respondto the setup command by sending back to the MCS the contents of itscommand register which will be a replica of the actual message received.The MCS will compare the SIU response to the original message sent toinsure that the SIU is setup correctly. If it is not, there will bethree more attempts to set up the SIU correctly. If these attempts fail,the addressed SIU will be marked off-line and designated as "removedfrom service". If the addressed SIU was set up correctly, the MCS willgo to the next SIU and try to set it up, as may be required.

After all of the desired SIU's have been set up and verified, the MCSwill send one of the execute commands which consist of Message Nos. 2 or7 in Table 1. If the execute command is received by the SIU's while thecommand pending flag is set, the command that was setup will beimplemented. If the command pending flag is not set when the executecommand is received, the SIU will ignore it and do nothing. Such acondition will be detected by the master control station MCS when itexamines the SIU status during routine polling.

Message Nos. 4, 5 and 6 request the status of a particular substationinjection unit SIU. Not being setup commands, Message Nos. 4, 5 and 6 donot require an execute command before the addressed SIU will respond.That is, the MCS will request the status and the addressed SIU willrespond with the desired status information. Message Nos. 4, 5 and 6 aretransmitted twice, and after each transmission, the addressed SIUresponds. This enhances system security and insures that the mastercontrol station MCS has the correct status information. Following is adiscussion of each of the message numbers in Table 1.

Message No. 1 is a command to one substation injection unit SIU to loadits software implemented injection register with a specific 40 pulsecode signal to be injected under local SIU timing control commencingwith the reception of Message No. 2. The SIU response to Message No. 1is the actual injection code that the SIU received which will becompared in the MCS to the injection code that was sent to insure thatthe set up message was correctly received by the addressed SIU. Each SIUwill be set up in turn until all on-line SIUs have been loaded with theinjection code and verified. The MCS will then send Message No. 2 whichwill initiate the transmission of the 40 pulse code injection message.The controller in the SIU will respond to the 40 pulse code injectionmessage to control the on and off timing of each individual pulse.

Message No. 3 is a command to clear the command register in a particularSIU. The SIU will respond with its status and the contents of itscommand register. The MCS will check the response to insure that thecommand was correctly received at the SIU. If it was, the MCS will sendMessage No. 7 to clear the command register in the addressed SIU. Thiscommand will be used on a selective basis to cancel a pending controlorder.

Message No. 4 is a command to a particular SIU to report its status andthe contents of its command register. The SIU response is a messagecontaining the status information read from the SIU status register andthe contents of the SIU command register. The status report includesseveral on/off type of conditions or presence/absence type of conditionsthat are then interpreted by the MCS as alarm or status information.Items of this nature include overtemperature of the rectifier,overtemperature of the inverter, overtemperature of the cabinetinterior, inlet voltage out of range, and the like.

Message No. 5 is a command to a specific SIU to report the last 40 pulsecode pattern that was injected by the addressed SIU. The latter respondswith a binary encoded translation of the 40 pulse code pattern read froma special injection monitor receiver connected within the SIU.

Message No. 6 is a command to a specific SIU to report its status andthe current value for an analog measurement point. There may be one or aplurality of such analog measurement points located within the SIU,which will be described in greater detail hereinafter. In response tothis command, the addressed SIU will read the measurement point,digitize its value, and send the representation back to the MCS.

Message No. 7 is an execute command which directs an SIU to execute apreviously stored command, other than pulse code injection messageswhich are executed by Message No. 2. Message No. 7 is an execute commandaddressed to only one SIU, and the response is a report by the addressedSIU of its status and the contents of its command register.

Message No. 8 is a command to a selected SIU to set a new injectionpower level. The response to this command is the status and contents ofthe command register for the addressed SIU. The response will becompared to the original message that was sent to insure that the SIU isset up correctly. If it is, Message No. 7 will be sent to implement thenew injection power level. Message No. 8 is used to dynamically adjustthe injection power level for the best overall system performance andwill be set based upon, among other things, the number of SIUs that areon-line versus the number of SIUs that are on the system.

D. Remote Receiver Unit

Illustrated in FIG. 5 is a preferred format for the pulse code signaltransmitted by the substation injection units SIU to the remote receiverunits RRU. The control messages are encoded into start, preselect, andexecute pulses. The timing of each preselect and execute pulse withrespect to the start pulse is precisely controlled. The preferred codeincludes 41 pulses: the start pulse, which is common to all controlmessages, numbered 0; seven preselect pulses numbered 5, 10, 15, 20, 25,30, and 35, and 28 execute pulses numbered 6 through 9, 11 through 14,16 through 19, 21 through 24, 26 through 29, 31 through 34, and 36through 39. Every control message consists of a start pulse followed bya preselect pulse, followed by an execute pulse. The totalpreselect-execute pulse combinations in the preferred embodiment is 112,which allows 112 independent control functions, or 56 simultaneouscontrol functions with one control message transmission. As may beappreciated from FIG. 5, the start pulse is a sync pulse ofapproximately 0.833 second duration followed by a 2.29 seconds restperiod. Although one pulse string may contain several interleavedcontrol commands, in typical applications only a few pulses will beactive in any one pulse string. Since the start pulse activates allremote receiver units RRU, each pulse code message or string isseparated by an inactive period of approximately 94 seconds to allow anyfalsely started RRUs to run to their reset position.

FIG. 4 illustrates a block diagram of a preferred embodiment of a remotereceiver unit RRU which may comprise, for example, a Sangamo WestonModel 100 receiver. From the power line, the pulse code signal is firstreceived by a frequency selector element 11 that discriminates between avalid control signal and all other parasitic frequencies which may existon the power lines. Valid frequency signals are passed by frequencyselector 11 to a decoder/selector 13 which discriminates between all ofthe pulses in a particular pulse code so that the particular remotereceiver unit RRU acts only on the pulses that the receiver has beencoded to recognize. When a proper pulse code signal is decoded bydecoder/selector 13, the latter controls a contact block 15 whichcomprises a set of controlled output contacts for switched loads 17 and19 which are capable of being activated simultaneously or independently.Both contacts in contact block 15 are preferably single pole, and theoperating mechanism allows for positive latching so that differentcontrol messages are required to change the contact state from "ON" to"OFF", and vice versa. The absence of a control message or a powerfailure will not change the state of a latched contact.

In a preferred embodiment, the decoder/selector 13 comprises anelectromechanical timing chain which monitors the presence or absence ofa pulse in each of the 40 possible positions. When the propercombination of positions or slots have been filled, the output contact15 is opened or closed. Each remote receiver unit is precoded so that itresponds to one and only one pulse code signal; therefore, the switchedloads 17 and 19 must be of the same class, for example, electric hotwater heaters. In order to control, for example, an air conditioningcompressor in the same location, a separately encoded remote receiverunit RRU must be connected thereto to receive the pulse code signal.

II. LOAD MANAGEMENT STRATEGY

In the best mode presently contemplated for carrying out the presentinvention, with the 40 pulse injection code signal and remote receiversdescribed above, there are 56 independently operable sets of contacts(on/off pairs) or load control groups. Each contact can control aseparate type of load, such as electric hot water heaters, airconditioner compressors, street lights, or the like. Therefore, theoperational programs for the master control station MCS has 56predefined load control groups. Each group can be commanded to turn on(the contact in the receiver will close) or to turn off (the contact inthe receiver will open). By turning the load groups on and off at theappropriate times, a desired load management strategy can beimplemented. The system operator determines which group to turn on andoff and when they should be turned on and off to best control the systemload. The program in the master control station will implement thestrategy which is set up by the operator.

The control commands that turn the load control groups on and off arelinked together by the operator to form control lists. There may be, forexample, 20 independent control lists, each containing one or morecontrol commands, which are grouped into the lists according todifferent characteristics that enable management of various types ofloads.

The management strategy of the present invention defines three differenttypes of control lists, referred to hereinafter as Type 1, 2 and 3. Type1 control lists are of a single pass nature. That is, when the type 1list is activated, the group control commands in the list aretransmitted at a predetermined time from the time the list is activated.When the end of a type 1 list is reached, the control sequence isfinished and the list is deactivated. Type 1 control lists are typicallyused for emergency load shedding or other manually initiated, one shot,preplanned sequential control activity.

Type 2 control lists have a cyclic and repetitive nature. When a type 2control list is activated, the group control commands in the list aresent in a predetermined order. When the end of the list is reached, theprogram goes back to the beginning of the list to start over. Thiscyclic action continues until the list is deactivated by an externalevent or by operator intervention. A type 2 control list is typicallyutilized for cycling hot water heaters, air conditioners, or streetlights.

Type 3 control lists are characterized by a variable duty cycle. Type 3lists can dynamically adjust the amount of time a controlled load isallowed to be on, depending upon the demand on the electrical network.As the demand on the network increases, the time the loads are allowedto be on decreases, thereby reducing the total demand. The group-offcommands for a type 3 control list are evenly spaced over the durationof the cycle. When it is time to turn the next load control group off,the program calculates a new on-to-off ratio based upon the currentvalue of one or more system parameters such as total demand. The newratio is used to determine the length of time this group will be leftoff. The off time interval is subject to minimum and maximum limitsestablished by the operator. The program will turn such a group off atthe time specified in the list and then turn it back on after thecalculated off time interval has elapsed.

The control lists may be initiated by a manual operator action, by anoperator-entered load curve, by a discrete input received from thesubstation injection unit SIU or by a combination of analog inputs fromthe substation injection unit SIU. The control lists may be loaddependent or load independent, and may run on particular days of theweek, weekends, holidays or any desired combination of same.

III. MCS SOFTWARE

The software program for the master control station MCS consists ofthree basic functional portions. The first portion, which may bereferred to as the operator interchange module, handles the interactionbetween the system and the operator including control of the keyboardand generation of displays on the CRT. The second portion, known as theload profile module, monitors the control lists by periodically, forexample, once a minute, checking to see whether any of the lists shouldbe started or stopped, or if a group control command should be sent to asubstration injection unit SIU. The third portion of the program, knownas the line protocol module (which runs most of the time), handles thecommunications between the master control station MCS and the substationinjection units SIU. Between injections of group control commands, themaster control station MCS routinely polls each substation injectionunit SIU for status information and telemetry data. It also checks eachsubstation injection unit SIU for eight internal status conditions andmonitors the status of eight customer discrete inputs and one analoginput. Between the polling of each substation injection unit SIU, theMCS updates the display that is currently on the CRT.

Referring now to FIG. 11, a block diagram illustrates the softwareinteraction of the various modules with various hardware which togethercomprise the master control station MCS. The operator interchange moduleis indicated by reference numeral 400 and handles the operator inputsfrom keyboard 404 while generating a display on CRT 402. While being thelargest module in the system, it runs on a very low priority. Theinputting of parameters through keyboard 404 or the generation ofdisplays for CRT 402 is accomplished through the use of a System Menuwhich is a list of items that will direct the computer to the area theoperator would like to manipulate. The program is preferably written sothat data entry is operator oriented, that is, the computer asks aquestion by displaying it on the CRT 402 and the operator supplies theanswer by typing it in through the keyboard 404. Each operator entry ischecked for correctness and appropriateness at the time it is entered toinsure the security and integrity of the system. A printer 416 may beconnected as an output device to provide a hard copy of the CRT display,if desired.

A real time clock 418 plugs into the programmable computer that formsthe master control station MCS in order to provide a real time referencefor interrupting the system periodically to perform certain functions.For example, certain software functions are implemented once a minute,certain functions are implemented once every five seconds, and the like.

The data base for the operator interchange module 400 is formed by acontrol list and command assignment table 406, SIU tables 408 and systemstatus files 410. As the names of the blocks imply, they contain thetables and files that other modules manipulate and provide means withwhich the other modules can communicate information. The tables 406 and408 and files 410 together may be referred to as the system files moduleand information is stored therein pertaining to the substation injectionunits (SIU), the analog and discrete inputs, the control lists, thegroup elements, the CRT displays and the like.

Another program known as the initialization module and indicated in FIG.11 by reference numeral 414 is run immediately after the program tape isloaded into the computer in order to establish the data base.Initialization module 414 initializes the hardware interfaces connecteddirectly to the computer. This program is normally run only once perprogram load, and is connected to a tape drive 412 which stores theoperator-entered information in the event of a temporary power outage.

The load profile module is indicated by reference numeral 420 andhandles activation, running and deactivation of the control lists.Module 420 also manipulates the analog and the discrete inputs as readfrom analog and discrete input tables 424, as well as information storedin a load profile table 422. Load profile module 420 calculates andcontrols the type 3 control list off-time intervals. Module 420 is runperiodically, e.g., once a minute, based upon timing informationreceived from real time clock 418. Control list information to loadprofile module 420 is fed from control list table 406. Module 420 goesthrough each list in turn: if the list is disabled, it will go on to thenext list; if the list has been enabled by the operator, module 420 willcheck the various parameters to see if activation or deactivation of thecontrol list is called for. Module 420 then examines the group controlcommands within those lists that are activated and, if there is a timematch, module 420 takes the group control command information and placesit on a command stack 426 which acts as a buffer area for the lineprotocol module 428 for subsequent transmission to the substationinjection units.

As explained above, for a type 3 control list, the load profile module420 calculates a new on-to-off ratio at the beginning of each cyclebased upon the current value of certain system parameters, whichtypically include total system demand. Such information may be obtainedby load profile table 422 from information previously stored in theanalog and discrete input tables 424, which information is obtained fromeither analog inputs and/or discrete inputs located at the substationinjection units SIU. Alternatively, in the event the particular systeminstallation is not provided with analog or discrete inputs, type 3lists can still be controlled by information previously stored in loadprofile table 422 which, in essence, is a tabular listing of theanticipated megawatt demand on an hourly basis. The load profile table422 can be updated by the operator via operator interchange module 400at any time.

Whether utilizing the load profile table 422 or the analog and discreteinput tables 424, the on-to-off time ratio is related to the desiredsystem parameter of the utility by a graph such as that illustrated inFIG. 14. The off-time interval is indicated on the Y-axis and isdirectly related, over a limited range, to the network demand inmegawatts on the X-axis. For each type 3 control list, the operatorenters the demand at which he wants the control list to become active(the activate point) and the demand at which the group in the list wouldbe turned off for the maximum off-time interval (the maximum off point).The off-time interval may be calculated by the equation: ##EQU1## forvalues of X that are greater than or equal to the activate point. Thevalue Y will be rounded off to the closest integer and will be used asthe off-time interval subject to two conditions: first, the minimumoff-time interval is the cycle duration divided by the number of loadcontrol groups in the list and must be at least, for example, fourminutes long; and, second, the maximum off-time interval is less than orequal to the limit defined by the operator. Otherwise, the off-timeinterval can vary by one minute increments as the load varies.

For values of X that are greater than the maximum off point, theoff-time interval will be fixed at the upper limit defined by theoperator. When the value of X has dropped so that it is between thedeactivate point and the activate point, the off-time interval willremain at the minimum off-time interval. When the value of X falls belowthe deactivate point, the program will send commands to turn on all loadcontrol groups in the list and then deactivate the list.

As stated above, for any group control command for which a time match isdetermined in load profile module 420, the latter transfers the commandto the command stack 426. If at any time there is insufficient room oncommand stack 426 for the load profile module 420 to put on a groupcontrol command, the operator will be notified by an alarm message, andthe module 420 will try to place the group control command on the stack426 again after a one minute delay.

The purpose of the line protocol module 428 is to process group controlcommands on the command stack 426, transmit messages to and receivemessages from the substation injection units, poll the substationinjection units for status conditions, retrieve substation injectionunit analog and discrete inputs, and maintain communications andinjection error statistics.

When the line protocol module 428 runs, which may be, for example, onceevery five seconds, it will first check the command stack 426. It thereare no group control commands on stack 426, the line protocol module 428will begin a polling sequence in which all substation injection units(SIU) will be requested to report their status and analog and discreteinputs, one SIU at a time. The received data will be used to update thesystem files 410. Further, the SIU status indicators will be checked forany changes or alarm conditions. If an alarm condition is detected, analarm status flag will be set so that an alarm display will be generatedby the operator interchange module 400. Any new analog or discreteinputs will be fed to the analog and discrete input tables 424 from lineprotocol module 428. If any of the analog or discrete inputs havechanged and represent an alarm condition, an alarm status flag will beset. When the polling of each SIU is complete, line protocol module 428will return to check the command stack 426 once again.

If there is one or more group control commands on stack 426, lineprotocol module 428 will try to combine the 40 pulse code injectionmessages. If the commands cannot be combined, the module 428 will sendthem in order of the priority of the control list from which thecommands came. Transmission of the pulse code injection messages followsthe setup-verify-execute sequence described hereinabove. That is, thepulse code injection message is first set up in each substationinjection unit and verified, one at a time. After verification, acommence keying command is sent twice to all substation injection unitsfor communications verification. The commence keying command initiatesthe pulse code injection process at the substation injection units whichtakes, in the preferred embodiment, approximately 94 seconds to completeplus a 94 second false start time, for a total of from two to threeminutes per injection. An interface module 430, known as an RS-232, isdisposed between the line protocol module 428 and a modem 431 whichconverts commands from the computer into signals for transmission on thetelephone lines by the modem. After injection has been completed, theline protocol module 428 obtains the injection code from a specialreceiver in each substation injection unit that monitors the pulse codesignals going onto the power lines. The received code from the specialreceiver in each SIU must match the pulse code signal transmitted, or aninjection error is noted for that SIU. If an injection error is noted,the same message is re-injected. If two consecutive errors are noted,the particular SIU is disabled and an alarm indication is given to theoperator.

After an injection message is set up by the line protocol module 428,the latter will update the status of the load control groups involved inthe particular message. This is done so that the operator interchangemodule 400 can periodically write the current control list and groupstatus on the system tape 412. The line protocol module 428 will alsodeliver to an archival tape module 440 the load control group commandsinvolved in this message so that the archival tape module 440 can writethe commands on a separate tape drive unit 442 for archival storagepurposes.

The line protocol module 428 also maintains the communication andinjection error statistics. Several sections of the line protocol module428 function like I/O drivers. All communications line messages arehandled by the message as opposed to by the character (a messagecomprises several characters). This allows the line protocol module 428to stop running until the transfer of the entire message is completed sothat other program modules are able to run while the line protocolmodule 428 is stopped. However, when message transfer is complete, theRS 232 interface 430 interrupts the MCS to initiate running of the lineprotocol module 428 once again. The latter will then check the receivedmessage for errors, update the SIU status, analog and discrete files,and the like. It stops running when another message transfer begins toallow the previously interrupted module to continue. The real time clock418 together with the interface 430 restarts the line protocol module428 in the event the message transfer is incomplete.

The MCS analog and discrete input module 432 is optional and is requiredonly when there may be analog or discrete inputs connected directly tothe MCS. When module 432 runs, it works together with the analog anddiscrete input interface tables 424 to bring in the current values ofthe inputs. It will then update the analog and discrete files in thesystem files 410 in the same manner as the line protocol module 428 doeswith the SIU analog and discrete inputs. Reference numeral 434 indicatesa standard interface bus utilized with the module 432.

The SCADA module 436 is also optional and comprises a supervisorycontrol and data acquisition system, which is a higher level computerthat can control the MCS. A command interface 438 may be required forSCADA module 436.

The system software is illustrated in flow chart form in FIG. 12. In theflow chart of FIG. 12, reference numeral 414 refers again to theinitialization module wherein the data base is established, initializedand updated from the previously stored information on tape drive 412.Further, in the initialization module 414, the difference between thecurrent time and the time the last record was written on the systemstatus files 410 is determined. If greater than a predetermined timeinterval, the operator is asked to enter the new date and time, and thelast known list and group status are displayed. The main program is thenloaded from the tape drive 412, and the display loop DL is entered.

In the display loop DL, if an alarm condition is indicated the alarmdisplay is generated. If no alarm condition is present, the requesteddisplay is generated, and the program moves on to the clock interruptcycle A.

In the clock interrupt routine A, the current date and time are obtainedfrom the real time clock. If the latter has changed to the next minute,the program loops to the load profile module 420. If not, clockinterrupt A checks to see if it is time to go to the line protocolmodule 428. This may be determined, for example, by a five secondinternal counter which is decremented to zero.

As pointed out above, the line protocol module 428 is run once everyfive seconds, and is therefore the highest priority routine in theprogram. The line protocol module 428 first tests to see if it is timeto check an in-progress injection. If it is, the program loops toroutine C which first obtains the last injection code from eachsubstation injection unit. This information is obtained from the specialreceiver in each SIU. A comparison is then made between the received SIUinjection codes and those transmitted to determine if there are anyerrors. If so, an injection error is indicated. If there are no errors,the group control command that made up the injection is removed from thecommand stack 426. The status tape file is then updated with the currentlist and group status whereafter the time is set for the next injection(approximately 94 seconds later), and the five second counter is resetto establish a new time for checking the line protocol module 428.

If it is not time to check an in-progress injection, the line protocolmodule 428 checks to see if it is time to start a new injection. If so,the program loops to routine B where there is first a test to see ifthere are any injection errors. If there are none, routine B checks thecommand stack 426 to see if it is empty, that is, to see whether or notthere are any group control commands awaiting transmission. If not, theline protocol module 428 polls the injection substation unit, updatesthe analog, discrete and internal status files from the pollingresponse, and resets the five second counter in clock interrupt A.

If there is one or more group control commands on the command stack 426,routine B first eliminates any duplicate group control commands, obtainsthe preselect code of the oldest command, looks for other group controlcommands with the same preselect code, and combines commands with thesame preselect. The injection message is then generated and sent to eachsubstation injection unit that is on-line and enabled. Routine B thenverifies the injection message, and upon verification, sends thecommence keying command to all SIUs. Thereafter, routine B sets the timefor checking this injection (approximately 94 seconds later) and sets anew time to check the line protocol module 428.

Referring back to the clock interrupt routine A, if a minute change hasgone by, the program cycles to the load profile module 420 wherein thefirst action taken to to determine the source of the list. If the listsource is a manual Key on the keyboard, the program cycles to routine Eto determine if the particular control list is active. If it is not, therest of the control lists are checked and the cycle returns to the loadprofile module 420. If the particular control list indicated by theManual Key is active, the program cycles to routine J which is an"activate" routine common to all lists found active. In routine J, thefirst determination is the days that this particular list is allowed torun, and the type of day that today is, that is, whether today is aweekday, Saturday, Sunday or holiday. It is then determined whether thisparticular list is allowed to run today. If it is not, the rest of thecontrol lists are checked and the routine returns to the load profilemodule 420. If the list is allowed to run today, the list is thenchecked to see whether it is already active, and, if it is not, the listis set active and the program cycles to routine F. If the list isactive, the current time is obtained, and, if the list is a type 3 list,the new off-time interval is calculated. Each group control command inthe list is then checked for a time match. For each time match found,the corresponding group control command is placed on the command stackto await transmission via the line protocol module 428. If the list is atype 3 list, the time is adjusted to turn the group back on or off. Theremaining group control commands in this list are similarly checked,after which the rest of the control lists are checked.

Routine F is also the routine which is enabled if the list source isfrom the Dump, Reduce or Restore Keys on the keyboard. The listsassigned to the Dump, Reduce and Restore Keys are normally used foremergency situations only, and therefore have priority over other loadmanagement functions in the system. Within these threemanually-initiated actions, the Dump list has priority over the Reducelist and the Restore list, while the Reduce list has priority over theRestore list. All lower priority lists are disabled when one of theselists is initiated by pressing the corresponding key. Further, allentries that are currently on the command stack are removed.

Returning to module 420, if the list source is the load profile table,the program cycles to routine G wherein values are obtained from theload profile table for this hour and for the next hour. The values arethen linearly interpolated to obtain a value for the present minute. Ifthis value is greater than or equal to the activate value for this list,the program cycles to the activate routine J. If the interpolated valueis less than the deactivate value for this particular list, the programcycles to the "deactivate" routine K.

In routine K, if the list is currently active, all of the ON groupcontrol commands in the list are placed on the command stack, and thelist is then set inactive.

Referring back to routine G, if the interpolated value is greater thanthe deactivate value but less than the activate value, the programcycles to routine F which was explained above.

If the list source on load profile module 420 is a discrete input fromthe substation injection unit, the program cycles to routine H whereinthe contact number for this list and its current status is obtained. Ifthe status of the contact number is correct to activate the list, theprogram cycles to routine J. On the other hand, if the status is correctto deactivate the list, the program cycles to routine K. Otherwise, theprogram cycles to routine F where the group control commands are testedfor a time match and placed upon the command stack.

If the list source in the load profile module 420 is from an analoginput, the program cycles to routine I wherein an analog input number isobtained for the list along with its current value for all analoginputs. The appropriate value is then calculated (average, summation orRMS), and the value is tested to see if it is greater than or equal tothe activate value, or if it is less than the deactivate value. If theformer is true, activate routine J is enabled, and if the latter istrue, deactivate routine K is enabled. If the value is between theactivate and deactivate points, routine F is enabled.

Not shown in FIG. 12 are the Menu Key routines which permit the operatorto select a display indicator or enter system parameters according tothe system menu, as well as the Keyboard Interrupt routine which allowsinput from the keyboard.

IV. SUBSTATION INJECTION UNIT

A. Overall Block Diagram

Referring now to FIG. 6, there is illustrated a functional block diagramof a preferred embodiment of a substation injection unit in accordancewith the present invention. Power is fed to the substation injectionunit from the main power bus 42 of the power utility's substation, whichis of the 15 kilovolt class. Bus 42 also transmits the utility's powerto the remote receiver units RRU. A power supply for the substationinjection unit is indicated by reference numeral 10 and supplies, forexample, 60 Hertz, 240 volt, 36 amp, three-phase three wire power to aline terminal board 12 to which the interconnect cables for the interiorof the substation injection unit are connected. From board 12, power isfed through a power circuit breaker 14 which has a shunt trip input 71that is activated in a manner which will be described in greater detailhereinafter. Three-phase power is fed along line 25 from power breaker14 to a 60 Hertz power input contactor 16. Contactor 16 connects theincoming power to a rectifier 20 under the control of control relaycircuit 18, in a manner which will be described in greater detailhereinafter.

Rectifier circuit 20 comprises a standard SCR phase-controlled rectifierbridge under the control of a rectifier controller 68 in a manner to bedescribed in greater detail below. Rectifier 20 acts to change theincoming three-phase AC power into a DC level at its output ofapproximately 325 volts. It should be noted, however, that the DCvoltage level output of rectifier 20 may be adjusted to deliver one of anumber of suitable output DC voltages by means of adjusting the firingangle of the silicon-controlled rectifiers (SCRs).

The DC output from rectifier 20 is then fed to an LC output filter 22that smooths the AC ripple on the DC voltage. Also noted in box 22 is aninverter fault detector which basically detects what is known as ashoot-through condition in an inverter 24 that creates a short on the DCbus. The fault detector in block 22 acts to provide an alternate pathfor any surges in order to prevent the rectifiers in the inverter frombeing burnt out. Shoot-through conditions are also noted in therectifier controller 68, in a manner which will be described more fullybelow.

Also positioned in block 22 is an overcurrent sensor which simply sensesexcess current on the DC line and, upon such detection, acts to disablethe SCRs in rectifier 20 to prevent damage thereto.

Reference numeral 24 indicates a three-phase static inverter which ispreferably of the form known in the art as a McMurray inverter. Inverter24 converts the incoming DC voltage and current to AC voltage andcurrent at a frequency which corresponds to the desired preselectedpulse code frequency. By way of example, the pulse code frequency may beselected to be 340 Hertz. The presence or absence of a particular pulsein the 340 Hertz output of inverter 24 depends upon inputs received frominverter controller 46 which basically turns on and off the SCRs ininverter 24 in accordance with the specific pulse code signal desiredfor a particular injection message.

Inverter 24 operates in one of three modes under the control of invertercontroller 46. One mode may be denoted the OFF mode wherein none of theSCRs in inverter 24 are conducting. Another mode may be described as theINJECT mode wherein the SCRs of inverter 24 are being turned on and offin a specific sequence to create a pulse code pattern at 340 Hertz thatcorresponds to the desired injection message communicated to invertercontroller 46 by microprocessor 66, in a manner which will be describedin greater detail hereinafter. A third mode may be denoted the IDLE modeand corresponds to those periods of time when no output pulse is presentin the pulse code train. During IDLE, the lower three SCRs in the SCRbridge of inverter 24 are conducting which in conjunction with thefeedback diodes provides a continuous short circuit on the primary of aninjection transformer 30 to serve as a trap circuit for the 60 Hertzfeedback current. The inverter 24 is sized to handle the combinedcurrent requirements of the ripple or injection frequency current andthe desired amount of 60 Hertz backfeed current. The SCRs in inverter 24operate under forced commutation as controlled by inverter controller46.

From the inverter 24, the pulse code signal is fed through a poweroutput contactor 28 which is under the control of control relay circuit18, as is power input contactor 16. When the main power breaker 14opens, power is removed from input and output contactors 16 and 28,respectively, via control relay circuits 18 to immediately isolate theSCRs in rectifier 20 and inverter 24 against damage. The status of inputand output contactors 16 and 28 is fed to a system status board 64, aswill be described in greater detail hereinafter.

The coded injection message from output contactor 28 is fed to theprimary of an injection transformer 30 which performs two functions.Firstly, transformer 30 isolates the pulse code generator (consisting ofrectifier 20 and inverter 24) from the power line 42. Transformer 30also has its secondary connected to deliver the 340 Hertz alternatingcurrent signal to the injection inductors 32 and injection capacitors34. Inductors 32 and capacitors 34 are tuned to provide a series circuitresonant at the desired pulse code frequency of 340 Hertz. Surgeprotection arc gaps 36 are connected across the injection inductors 32and the transformer winding to the neutral to provide surge protectionwhen the injection inductor 32 and capacitors 34 are connected to thesubstation bus 42. That is, a surge current can create an overvoltage onthe inductors 32 and the arc gaps 36 are used to limit that voltage.

The substation injection unit runs with an isolated neutral; however, itis desirable to limit its relationship to the system neutral, and thisfunction is performed by a neutral shift arc gap 38. That is, if thesystem neutral or the substation neutral shift too far with respect toone another, the neutral shift arc gap 38 will fire to hold them in afixed voltage relationship.

From the inductors 32 and the capacitors 34, the 340 Hertz pulse codesignal is applied through disconnect devices 40 which may be, forexample, simple disconnect switches or a mechanized switch utilized toswitch capacitor banks on and off the line. From there, the pulse codesignal is applied to the substation bus 42 to be sent to the remotereceiver units along the power lines.

The output from power output contactor 28 is also fed through currenttransformers 44 to a neutral shift detector 48 which acts to indicatewhen the power system neutral has shifted sufficiently to cause improperoperation of the substation injection unit. Such a shift can be causedby, for example, a line-to-neutral or line-to-line fault which, if notcleared sufficiently rapidly, causes neutral shift detector 48 tofunction to disconnect the substation injection unit from the power linevia system status board 64, control relay circuits 18, power breaker 14and contactors 16 and 28.

Reference numeral 50 indicates generally the control logic forcontrolling the function and operation of the circuits describedhereinabove in the substation injection unit. Single phase power is fedfrom terminal board 12 into a trip breaker 52 and then through anelectromagnetic interference filter 54 which eliminates some of thetransients and higher harmonics being supplied to a transformer 56.Transformer 56 steps down the voltage level to one usable by directcurrent power supply 58 which may be, for example, approximately 120volts. Power supply 58 supplies direct current power to the control andcommunications module 60.

When the substation injection unit is transmitting a pulse code signalthrough the substation bus 42, part of that signal is fed back throughthe customer's power supply 10 down through terminal board 12, tripbreaker 52 and may be detected by a pulse detector 62. Pulse detector 62preferably comprises a modified remote receiver unit which is designedto detect, on a pulse-by-pulse basis, the pulse code signal impressedupon the power lines. Pulse detector 62 is set forth in greater detailin copending U.S. application Ser. No. 53,252, filed June 29, 1979,assigned to the same assignee as the present invention, said applicationbeing expressly incorporated herein by reference. The output of pulsedetector 62 is fed to the system status and I/O board 64 in the controland communications module 60. With respect to this information, systemstatus board 64 is used to confirm that the ripple tone or pulse codesignal is being applied to the system.

The heart of the control and communications module 60 is amicroprocessor 66 which may, for example, comprise a Motorola 6800 chip.The microprocessor 66, which can be denoted as a communicationscontroller, performs several functions. For example, the pulses from thepulse detector 62 are fed to microprocessor 66 through system statusboard 64 for counting, storing, and transmission back to the MCS forcomparison with the desired injection message sent to the substationinjection unit by the master control station. This information istransmitted via a modem 74 that is connected to the telephone lines thatare connected to the modem in the master control station. Themicroprocessor 66 stores the pulses received from pulse detector 62, ona pulse-by-pulse basis, and then transmits the complete 40 pulse codemessage back to the master control station where verification is made.

One function of the system status and I/O board 64 is to link andisolate the low level electronics portion of the control logic section50 from the nominal higher voltage circuits in the substation injectionunit. A block diagram of the system status and I/O board 64 isillustrated in FIG. 7 in combination with the microprocessor 66. Theinputs of microprocessor 66 are received by the board 64 through a highvoltage interface circuit 100 which converts the nominal 220 volt inputsto 5 volt logic level. In a preferred embodiment, seven such inputs areprovided through high voltage interface 100. As explained above, one ofthe inputs is from pulse detector 62. A second input is from the neutralshift detector 48. Another pair of inputs are provided from two relaysin control relay circuit 18, while yet another pair of inputs areprovided from temperature detectors 24a to be described below. From thehigh voltage interface 100, the low level logic signals are fed to alatch 102 having a chip enable input 101. Chip enable input 101 to latch102 is provided by an address decoder 104 which receives a 16 bitaddress signal from the microprocessor 66. When the right address isdetected in decoder 104, the chip enable output 101 goes high to latchthe data through latch 102 to be delivered to the input of themicroprocessor 66 via an 8 bit data bus.

Outputs are transmitted from the microprocessor 66 in a similar fashion.That is, a 16 bit address bus feeds an address to an address decoder 106which, upon detection of a proper address, causes a chip enable output107 to go high to actuate latch 108 to receive the eight bits of datafrom microprocessor 66 to be sent to the desired output. For example,when it is desired to open or close the input contactors 16 and theoutput contactors 28, an appropriate address and data is sent from themicroprocessor 66 through the output latch 108 to deliver the controlsignals to the control relay circuits 18.

Microprocessor 66 communicates with rectifier controller 68 and invertercontroller 46 in a similar manner utilizing, of course, differentaddress codes on its output address bus to address the particularcontroller desired.

Referring back to FIG. 6, it is seen that three-phase power is suppliedto rectifier controller and gate generator 68 via line 69. Thethree-phase, 60 Hertz supply to rectifier controller 68 along withoutput voltage level commands from microprocessor 66 allows thecontroller 68 to establish a predetermined voltage level which mustappear on the SCRs before they can be fired. This information provides areference point for controlling the firing time of the SCRs of therectifier. The firing time determines the level of output power. Themaster control station permits selection through microprocessor 66 ofone of a plurality of desired output voltages for rectifier 20 which maycomprise, for example, a high, medium and low voltage. The firing timethat the SCRs in rectifier 20 are fired depends upon the selected outputvoltage level and is controlled by rectifier controller 68, in a mannerto be described in greater detail hereinafter.

Reference numeral 24a indicates a pair of temperature rise detectorslocated in the inverter 24. One of the detectors is positioned adjacentthe SCRs to detect an initial threshold of temperature. Upon reachingthe initial threshold, a signal is transmitted to system status board 64in control module 60 where it is transmitted back to the master controlstation through the microprocessor 66 to indicate that the maximumoperating temperature of the substation injection unit has been reached.This permits corrective action to be taken at the master controlstation. The other temperature detector operates at a higher temperaturethreshold. When the high threshold is reached, a signal is sent directlyto the control relay circuits 18 to operate the shunt trip via line 71in power breaker 14 to immediately disable input contactor 16 and outputcontactor 28 to isolate the substation injection unit and render sameincapable of further transmission. This signal is also transmittedthrough the control relay circuit 18 to the microprocessor 66 via line65 and thereafter to the master control station to indicate an alarmcondition. Line 65 consists of four lines between system status board 64and control relay circuits 18. Control relay circuits 18 comprise a pairof relays to operate input and output power contactors 16 and 28,respectively. Further, the status of contactors 16 and 28 isperiodically polled and reported to the master control station throughsystem status board 64 and microprocessor 66.

A transformer 70 is connected to receive power from filter 64 andchanges the line voltage to a desired level to operate a pulse gatepower supply 72 which provides DC power for rectifier 20 and inverter24.

Reference numeral 76 in control and communication module 60 refers tooptional boards which may be provided in the substation injection unitto monitor analog or discrete data for feeding back system parameters tothe master control station. For example, one analog input may be adirect current signal proportional to the system load which can beutilized in the load management system for the type 3 control lists.Alternatively, the demand information can be, for example, the inputsfrom kilowatt-hour meters where the input is dry contact closures on thelines which are attached to switch on the meters. The rate at which theswitching operations occur are indicative of demand, and the totalnumber of contact closures is proportional to the kilowatt-hoursconsumed. Referring to FIG. 8, meters A and B each have a pair of drycontacts which close every time the meter turns to produce a pulse fromthe high voltage interfaces 140 and 150. The outputs from high voltageinterfaces 140 and 150 are fed to a pair of timers which may be located,for example, in a timing chip 160 (such as Motorola's 6840). Timer 1 inthe chip 160 is loaded with a number from microprocessor 66, which, forexample, is equivalent to five minutes. A 60 Hertz clock signal causestimer 1 to decrement. At the end of five minutes, the microprocessor 66reads the present count in timer 2 and subtracts it from the previouscount, which is equal to the total number of pulses in that timeinterval which is loaded into a RAM location 170. The same operation isperformed with timer 3. The numbers are fed to a stack of memorylocations in RAM 170, and, when an hour has elapsed, and the mastercontrol station calls for an analog value, the microprocessor 66 sumseverything in the two RAM stacks and sends it to the master controlstation which then calculates the demand per hour.

B. Rectifier Controller

There is shown in FIG. 9 a functional block diagram of the rectifiercontroller. Further details of the rectifier controller are set forth incopending U.S. application Ser. No. 54,025, filed July 2, 1979, assignedto the same assignee as the present invention, said application beingexpressly incorporated herein by reference. The rectifier controllerutilizes voltage sensors 110 to detect the more positive voltages bycomparing the instantaneous magnitude of phase voltages A, B and C fromthe three-phase power grid. The phases of the three voltages must berotating positively from A to B to C. The voltage sensors 110 produceoutputs whenever one line is positve with respect to another line withwhich it is compared. The voltage sensors are connected to the SCRenabling logic 112 in order to determine the firing order of the SCRs.

The same information required for determining the firing order is fed toa dwell start detector 130. The dwell start detector is responsive tothe outputs of voltage sensors 110 to produce an output whenever any twoof the three-phase voltages are equal.

A delay register 122 is responsive to the dwell start detector 130output and to time delay information from a decoder and counter 120which receives output voltage signals from the microprocessor. If thetime delay received from decoder 120 is zero, then the delay register122 will immediately enable logic 112. When this condition exists, therectifier will produce a full power output. The reason for this is that,in this event, the SCR enabling logic 112 will be time controlled onlyby the voltage sensors 110 since there is no dwell time delay. As thelength of the time delay increases from zero, the firing of the SCRswill be delayed by the output from delay register 122.

The decoder and counter 120 also provides an input to a mode register124. This mode register 124 is responsive to a mode command from themicroprocessor through decoder 120 to deliver an appropriate signal toSCR enabling logic that is used to initiate and terminate operation ofthe rectifier controller upon command from the microprocessor or whenthere are other rectifier controller malfunctions.

During normal operation, the rectifier controller operates in responseto commands from the microprocessor which are received by the decoderand counter 120 and in response to the three-phase voltages which aresensed by the voltage sensors 110. The commands from the delay register122, the voltage sensors 110, and the mode register 124 under normaloperation will permit firing of the rectifier SCRs by enabling logic112.

Connected to the output of the SCR enabling logic 112 are gate pulsegenerators 114 which are utilized to generate bursts of high frequencypulses which may be, for example, on the order of 50 kilohertz. Thesepulses are then applied to gate amplifiers 116 which are used toincrease the power level and to drive the rectifier SCRs 118. Therectifier SCRs have isolation transformers associated with their gates.These isolation transformers use the 50 kilohertz gate pulse generators114 to provide to the necessary gate control signal.

The rectifier controller also has associated with it additional meansfor controlling the SCR enabling logic 112 which are responsive toconditions on the DC bus. These means are an overcurrent sensor 128 anda shoot-through detector 132.

The overcurrent sensor 128 is placed in the direct current bus andsenses a high direct current for sustained periods of time. This sensormay be, for example, a thermally responsive switch which closes to applya signal to the mode control register 124 which will produce a disablingsignal which is received by the SCR enabling logic 112.

In order to provide for rapid control of the rectifier direct currentoutput voltage when a shoot-through occurs in the SCRs associated withthe inverter circuitry, there is provided a shoot-through detector 132.A "shoot-through" is the undesirable condition which may occur in theinverter circuit when two series connected SCRs operating on the samevoltage phase are simultaneously placed in conduction which produces ashort circuit on the direct current bus. The shoot-through detector 132responds to this short circuit condition on the direct current bus andproduces a signal responsive to the short circuit condition. Theshoot-through detector 132 is connected to the SCR enabling logic 112.When such a shoot-through condition is sensed, the SCR enabling logic112 immediately disables the rectifier SCR gates, and thereby preventsany further power from being applied to the direct current bus duringthe period of the shoot-through condition. The SCR enabling logic 112maintains the gates in their "off" condition for a predetermined periodof time. This provides time for the inverter to recover from itsundesirable shoot-through condition.

Shoot-through conditions may occur randomly in inverter circuits. Theshoot-through detector 132 and the SCR enabling logic 112 permit therectifier to be protected against damage from such random conditions. Ifthe shoot-through condition becomes persistent and repetitive, there maybe a serious fault associated with the inverter circuit's rectifiers. Inorder to determine if such serious and continuous shoot-throughconditions are present, there is provided a shoot-through counter 126.The shoot-through counter 126 counts the number of shoot-throughdetections within a given time interval. When a predetermined number ofshoot-throughs is detected within the predetermined period, theshoot-through counter 126 produces a shut down signal which is receivedby SCR enabling logic 112. The SCR enabling logic 112 will thenpermanently shut down the SCR gates until a microprocessor-initiated ormanually initiated command is received to clear the fault and restartthe rectifier. The shoot-through counter 126 also provides fault datasupplied to the microprocessor which is used to control the rectifiercontroller as well as the inverter.

C. Inverter Controller

Referring to FIG. 10, information pertaining to the desired mode ofoperator of the inverter is received from the substation injection unitmicroprocessor along an address bus B by an address page recognition ROM202 and a mode select register 204. The mode select register 204provides a two bit output which represents one of the four possiblemodes of operation of the inverter. The four modes of operation areCRASH (output 00), OFF (output 01), IDLE (output 10), and INJECT (output11). In the CRASH mode, the inverter SCRs are shut down in response todetection of a fault condition. In OFF, the SCRs are all turned offmomentarily. The IDLE mode corresponds to the absence of a pulse in thepulse code signal that forms the injection message, while the INJECTmode corresponds to the presence of a pulse in the pulse code signal.

The initial timing of the inverter controller output signals is achievedthrough a mode control register 206. The mode control register 206 isclocked by a timing signal referred to as the load mode register signalreceived from a timing register 240, and is enabled by signals from anenable mode change register 230, to be explained more fully below. Asecond enabling input is applied to mode control register 206 from an ORgate 231 which is responsive to a back feed 60 Hertz signal obtainedeither from the power lines or from the rectifier controller of thesubstation injection unit, as will be explained in greater detailhereinafter.

Upon receipt of the two enabling inputs and the load mode registersignal, mode control register 206 receives the two bit code from themode select register 204 and delivers same to its two line output whichforms a portion of an address for an eight bit address bus that feeds aplurality of read-only-memories (ROMs) 208, 210, 212, 214 and 216.

ROMs 208 through 216 can be denoted as a next table ROM 208, a next lineROM 210, enable next mode change and next main SCR ROMs 212 and 214 anda next commutate SCR ROM 216.

Associated respectively with each of the ROMs 208 through 216 are outputregisters 218, 220, 222, 224 and 226 which can be denoted as a tableregister 218, a line register 220, main SCR registers 222 and 224 andcommutate SCR register 226. An enable mode change register 230 is alsoconnected to receive an output from ROM 212.

The addresses for next table ROM 208, next line ROM 210, enable nextmode change and next main SCR ROM 212, next main valve ROM 214 and nextcommutate SCR ROM 216 are generated in response to the initial two bitaddress from the mode control register 206, and further in response totiming signals received from timing registers 240 and 242. The addressbus for providing information to the ROMs 208 through 216 includes eightbits of address. Two of the eight address bits are supplied by the modecontrol register 206. The remaining six bits are generated by next tableand next line ROMs 208 and 210. The registers 218 and 220 receive theinformation from ROMs 208 and 210 when they are clocked by advance tablesignals which are generated by timing register 242. The information innext table ROM 208 is the next table information and comprises two ofthe address bits which are applied to all of the ROMs 208, 210, 212, 214and 216. The ROM 210 contains the next line address information in theform of the remaining four bits for the address bus.

The eight bit address to ROMs 208, 210, 212, 214 and 216 consists of theinformation on two lines from the mode control register 206, theinformation on two lines from table register 218, and the information onfour lines which come from the line register 220. The address on theaddress bus is changed when a first timing signal, the advance tablesignal, is received from timing register 242. The advance table signalis applied to the clock terminals of table register 218 and lineregister 220. When these registers are clocked, the next tableinformation from ROM 208 and the next line information from ROM 210 willbe latched in and set as the table and line information for six of theeight bits of the address bus. As the address bus information changes,the output of next table ROM 208 and next line ROM 210 will advance tothe next address of the ROMs which contains information at the locationaddressed by the address bus pertaining to the next desired address. Inthis manner, whenever the clock terminals of the table register 218 andthe line register 220 are clocked, the address on the eight bit addressbus will change to he next desired address. It is through the continuousclocking of the table register 218 and the line register 220 that theaddress information for ROMs 208, 210, 212, 214 and 216 is continuouslychanged for cycling the firing control information for the invertervalves.

The ROMs 212, 214 and 216 with their associated output registers 222,224 and 226 operate in a similar manner. The information appearing onthe outputs of ROMs 212, 214 and 216 is the next-to-be-used firinginformation for the main SCRs and commutate valves of the inverter.

When the next main SCR ROM 212 is addressed, there appears on its outputbus three bits for indicating the next desired firing state of inverterSCRs 6, 4 and 2. Similarly, when the next main SCR ROM 214 is addressed,it produces on its output three bits for indicating the next desiredfiring state for inverter SCRs 5, 3 and 1.

The main SCR register 222 receives the three bits of information fromnext main SCR ROM 212 when a timing signal is received on the load mainSCR register line which is generated by timing register 240. Similarly,the main SCR register 224 which controls SCRs 5, 3 and 1 is also clockedby the load main SCR register timing signal from controller timingregister 240.

All of the commutate SCR firing controls are generated by next commutateSCR ROM 216 which also responds to the address bus information. Nextcommutate SCR ROM 216 has as outputs three bits which are received bycommutate SCR register 226. The commutate SCR register 226 preferablycomprises a 3 by 8 decoder for decoding the three bit output from nextcommutate SCR ROM 216 to create six commutate SCR firing signals (onlysix of the eight output bits are used). The commutate SCR register 226has as a clock input the fire commutate SCR timing signal which isreceived from timing register 240.

In order to clock the mode control register 206, the table register 218,the line register 220, the main SCR register 222, the main SCR register224, and the commutate SCR register 226, it is necessary to generatetiming signals which are appropriately spaced in time to control thedesired sequence of events. The timing of the events determines theoutput frequency of the inverter.

The apparatus for generating the necessary timing signals is also shownin FIG. 10. A 6fo signal (where fo=the desired pulse code frequency) isapplied to the clock input of a run sequence flip-flop 200. The runsequence flip-flop 200 is triggered on the positive zero-crossing of the6fo signal and produces an output to a sequence clock in the form of aNAND gate 228. The other input to NAND gate 228 is a one microsecondclock pulse. The output of NAND gate 228 is a sequence clock signalwhich is a burst of one microsecond clock pulses for a period of timedetermined by the run sequence flip-flop 200. The output of NAND gate228 is fed to a timing sequence counter 232 at its clock terminal. Thetiming sequence counter 232 and a companion timing sequence counter 234count the one microsecond clock pulses within the run sequence which arereceived from NAND gate 228. The output of timing sequence counters 232and 234 is an eight bit address code which is used to address a timingsequence ROM 236 and a timing sequence ROM 238.

As signals are generated by the timing sequence counters 232 and 234,the data in the memory addresses of the timing sequence ROMs 236 and 238are read out, one address each microsecond. The address code from thetiming sequence counters 232 and 234 changes upon each clock inputreceived from the NAND gate or sequence clock 228.

The data outputs from the timing sequence ROMs 236 and 238 are fedrespectively to timing registers 240 and 242. There are four bits ofdata fed from timing sequence ROM 236 to timing register 240 and fourbits from timing sequence ROM 238 to timing register 242. The clocksignal for timing registers 240 and 242 comprises the one microsecondclock input. The outputs of the timing registers 240 and 242 areprecisely timed pulses in accordance with the one microsecond clock, andin accordance with the timing sequence ROM address chosen by the timingsequence counters 232 and 234.

One output from the timing register 242 comprises a sequence terminatesignal. The sequence terminate signal is applied to a reset sequencecircuit 230 which preferably comprises a one-shot flip-flop. The outputof the one-shot 230 is then applied to reset the timing sequencecounters 232 and 234, and also to clear the run sequence flip-flop 200.The application of this pulse to the run sequence flip-flop 200terminates the sequence until the next positive going 6fo signal isobserved.

The five timing signals from the timing registers 240 and 242 aredenoted the load mode register signal, the load main SCRs registersignal, the advance table signal, the five commutate SCRs signal, andthe sequence terminate signal, and are all controlled by the informationloaded in the timing sequence ROMs 236 and 238. Only five of the eightpotential output lines from ROMs 236 and 238 contain information whichis used in the run sequence. These five lines are used to advance thetable and line, load the main valve registers, fire the commutator SCRs,load the mode register, and to terminate the sequence.

The termination of the sequence occurs after about 73 microseconds whichis a relatively short period of time when compared to the time requiredfor completion of one 6fo cycle. In the preferred embodiment, the pulsecode output frequency fo is 340 Hertz. Therefore, the 6fo frequency is2,040 Hertz. The time for one 6fo cycle is therefore approximately 490microseconds. It therefore can be seen that the complete timing sequenceoccurs during the initial 73 microsecond portion of each 6fo signal. Theoutputs on the various timing lines to the inverter controller registersdo not change until the next 6fo cycle is initiated over 400microseconds later.

The load mode register timing signal is generated by timing register240, and is applied to the mode control register 206 as the last pulseof the series of timing sequence pulses which control the cycling of theinverter controller. It is through this pulse that a new address isapplied to ROMs 208 through 216 in response to a mode change addressreceived by the mode select register 204. The load mode register clockpulse is the final timing pulse of the timing sequence. Therefore, achange in the information in the mode control register 206 will noteffect the firing of the SCRs of the inverter until the next 6fointerval begins, and the next advance table timing signal is output fromtiming sequence ROM 238.

The enable mode change register 230 is responsive to the enable nextmode change portion of the next main SCR ROM 212. The enable next modechange output is a one bit output which occurs at the end of each 6fointerval. The enable mode change register 230 is responsive to the loadmain SCR register timing signal from timing register 240 as is the mainSCR register portion of register 222. The output of the enable modechange register 230 is then fed to the mode control register 206 toenable the mode control register at the end of each 6fo interval, or atthe end of each 340 Hertz signal.

At the beginning of the INJECT mode, it is necessary to inject the pulsecode signal at the proper point in the 60 Hertz voltage of thesubstation bus to prevent injection transformer saturation. This pointis determined experimentally and is set by adjustment of the back feedwindow delay circuit 232.

The second enabling input for the mode control register 206 is receivedfrom the back feed window delay circuit 232 which receives the 60 Hertzsignal representative of the line voltage. A back feed window delaycircuit 232 and a one-shot window width circuit 233 provide one of thethree inputs to an OR gate 231.

The two bit output from mode select register 204 is connected toinverters 234 and 235 so that the output of inverters 234 and 235 is alogical "0" when the mode select register outputs a signal representingthe INJECT mode, which is a "11" input to the inverters 234 and 235. TheOR gate 231 acts as a disabling gate for the mode control register 206.When the input to the OR gate 231 is "0" on all three lines, the outputof the OR gate 231 will be a logical "1", which disables the modecontrol register 206. At all other times, when a "1" appears on any oneof the three input lines to OR gate 231, the output of OR gate 231 willenable the mode control register 206. In this manner, the only possibletime that the mode control register is disabled is during the INJECTmode when the output of inverters 234 and 235 are logical "0"s.

The back feed window delay circuit 232 has as an input a point on the 60Hertz three-phase lines. The back feed window delay 232 is a one-shotwith an adjustable time constant which will delay its output apredetermined period of time which is selectable in accordance withequipment operation. The back feed window delay may be on the order of,for example, one to five milliseconds. The delayed output from the backfeed window delay 232 is then fed to a one-shot flip-flop 233 which hasa predetermined width or time which is slightly greater than the timerequired for one 340 Hertz cycle. This time may be set to, for example,four milliseconds. The output of the one-shot 233 will be a logical "0"until the window from circuit 232 is seen. When the window is present,the one-shot 233 output will be a logical "1" which will allow the modecontrol register 206 to be enabled. When the output of the one-shot 233is a "0" during INJECT, the mode control register 206 will be disabledby virtue of the fact that there are three "0"s on the inputs to OR gate231.

The width of the window or the time period of four milliseconds for theone-shot 233 must be greater than the time interval between one enablemode change command from register 230 and the next. Since the enablemode change commands from register 230 occur only once in each 340 Hertzcycle, then the time period for the one-shot 233 must be slightlygreater than the time for one 340 Hertz cycle.

Outputs of main SCR registers 222 and 224 are each connected to a gatepulse generator (not shown) which may each comprise, for example, 50kilohertz oscillators. The outputs from the gate pulse generators arethen applied to gate amplifiers or integrated circuit drivers (notshown). The outputs from the gate amplifiers are then applied to theinputs of the main SCR inverter SCRs through isolation transformers.

The commutate SCR register 226 has as an input one microsecond timingsignals which are generated when the fire commutate SCR signal fromtiming register 240 clocks commutate SCR register 226. Since the outputfrom register 226 output is at a high frequency, it is not necessary toutilize a 50 kilohertz oscillator as was used in the driving circuitryfor the main SCR SCRs. Therefore, the outputs of commutate SCR register226 are fed directly through transistor amplifiers and isolationtransformers to the gates of the commutating SCRs of the inverter.

Further details of the inverter controller 46 are set forth in copendingU.S. application Ser. No. 54,024, filed July 2, 1979, now U.S. Pat. No.4,296,462, assigned to the same assignee as the present invention, saidapplication being expressly incorporated herein by reference.

D. Substation Injection Unit Software

FIG. 13 illustrates the flow chart of the software program for themicroprocessor 66 located in each substation injection unit. The programincludes three major routines, each of which is broken into smallerparts to maximize the efficiency of the microprocessor. The three majorroutines are the INPUT routine where communications are being receivedat the substation injection unit, the OUTPUT routine where thesubstation injection unit is outputting information to the mastercontrol station, and the INJECT routine where the substation injectionunit is involved in injecting the selected pulse code signal onto thesubstation's power lines. The INPUT and OUTPUT routines each takeapproximately 440 milliseconds to run, while the INJECT routine runs forapproximately 90 seconds. The INPUT routine is broken into threeroutines designated as IN-1, IN-2 and IN-3, the OUTPUT routine is brokeninto five routines designated as OUT-1, OUT-2, OUT-3, OUT-4 and OUT-5,while the INJECT routine is broken into eleven routines designated asINJ-1 through INJ-11. Three internal pointers, one for the input, onefor the output and one for the injection routines, are set by varioussteps in the routines in order to loop to other routines in propersequence. The pointers utilized may be summarized as follows:

    ______________________________________                                        INPUT POINTER                                                                 0                      OUTPUT                                                 1                      IN-1                                                   2                      IN-2                                                   3                      IN-3                                                   OUTPUT POINTER                                                                0                      INJECT                                                 1                      OUT-1                                                  2                      OUT-2                                                  3                      OUT-3                                                  4                      OUT-4                                                  5                      OUT-5                                                  INJECTION POINTER                                                             0                      MAIN                                                   1                      INJ-1                                                  2                      INJ-2                                                  3                      INJ-3                                                  4                      INJ-4                                                  5                      INJ-5                                                  6                      INJ-6                                                  7                      INJ-7                                                  8                      INJ-8                                                  9                      INJ-9                                                   10                    INJ-10                                                  11                    INJ-11                                                 ______________________________________                                    

Each substation injection unit is provided with a manually operableswitch having three positions: off, auto and manual. In the autoposition, it indicates that the substation injection unit iscommunicating with the master control station and will inject whateverinjection message is received and verified by the master. In the manualposition, it indicates that the substation injection unit willcommunicate with the master, but will not automatically inject.

In the POWER UP initialization routine, all of the RAM locations aretested to see if there are any failures. If not, the timers areinitialized, the rectifier and inverter are both turned off, values areread in from the CONSTANTS ROM, the input pointer is set equal to 1 toready the substation injection unit for receiving an input message, andthe output and injection pointers are set equal to zero.

The MAIN routine initially sets a watchdog timer which makes sure thatthe software program starts from the beginning. After testing to makesure the mode switch is either in auto or manual, the program receivesthe input pointer and goes to the proper subroutine established by thepointer. In a similar fashion, the INJECT and OUTPUT routines obtain theinjection and output pointers, respectively, and then loop to theroutine established by the respective pointers.

Referring first to routine IN-1, it first looks to see if a carrierdetect flag has been received. The carrier detect flag is a signal fromthe modem of the substation injection unit which indicates that themaster control station is trying to communicate with the substationinjection unit. If the carrier detect is up, the routine looks to see ifa character has been received. If so, it then checks to to see if thereis a framing, parity or overrun error. If not, the routine checks to seeif the character is an STX which would indicate the beginning of atransmission from the master control station. If so, a buffer isinitialized and the input pointer is set to number 2.

Routine IN-2 first checks to see if a carrier detect is still up, andthen to see if a character has been received and if there are any errorsin the character. If the carrier detect is not up or there is an errordetected, the routine goes to routine IN-1A, which is an abort inputroutine wherein the input pointer is set to number 1 and the programthen loops to the INJECT routine. If there is no error, the character issaved in the buffer until it is full. Then the last character is checkedto see if it is an ETX to denote the end of the message from the mastercontrol station. If so, the routine then checks to see if thisparticular message is directed to this particular substation injectionunit. If it is not, the routine looks to see if it is a commence keyingcommand which is directed to all substation injection units and, if itis, it directs the program to the KEYING routine. If the message isdirected to this particular substation injection unit, the input pointeris set to number 3.

In routine IN-3, the command is decoded and is checked to see if itvalid. If it is, the program loops to the proper routine to handle thedecoded command.

The OUTPUT routines are similar. Routine OUT-1 first checks to see if acarrier detect is up, and, if it is, the program loops to the INJECTroutine. If it is not, the routine raises a request to send flag, whichis a signal to its modem that it desires to communicate with the mastercontrol station. The output pointer is then set to number 2.

In routine OUT-2, the substation injection unit checks to see if aclear-to-send flag is up, which is a response from its modem that thelines are clear for communication to the master control station. Whenthis flag is received, a timer is set for a 250 millisecond delay, andthe output pointer is set to number 3.

In routine OUT-3, the 250 millisecond delay is checked to see if it isover, and, if it is, a piece of hardware known as the ACIA (AsynchronousCommunication Interface Adapter) is checked to see if it is ready for acharacter. If it is, a character is output, and, if all characters havenot been sent, the program loops back to OUT-4 to repeat the outputtingof a character. After all characters have been output, a 30 milliseconddelay is set and the output pointer is set to number 5.

In routine OUT-5, the 30 millisecond delay is checked to see if it isfinished, and, if it is, the request to send flag is dropped, the outputpointer is set equal to zero and the input pointer is set equal to one.The last two settings cycle the program back to the INPUT routines.

Prior to injection of a pulse code signal, a commence keying commandmust have been received during INPUT routine IN-2. At that point, theprogram loops to the KEYING routine which first checks to see if thepreviously set timeout has expired. The timeout control is a preselectedtime period, for example, 20 seconds, after which a commence keyingcommand will no longer be valid to commence keying of a previously setup and verified injection message. If the timeout has expired, theprogram loops to routine K1 where the injection pointer is set equal tozero, the input pointer is set equal to 1, and the program loops toMAIN.

If the timeout has not expired, the KEYING routine checks to see if thelast command sent was a "set injection code" command. If not, theprogram loops back to MAIN. If the last command was a "set injectioncode", the program checks to see if the mode switch is in auto and, upondetermining that it is, the start up rectifier voltage is set, the powercontactors are closed, and a 100 millisecond delay is established. Theinjection pointer is set to 1, which indicates that the substationinjection unit is ready for an injection, and the input pointer is alsoset to one.

The eleven INJECT routines will now be explained. In INJ-1, the programfirst determines whether the delay set has timed out; if it has, itchecks to see if the contactor is closed. If the contactors are notclosed, a contactor error is set and the routine loops to ABTINJ, orabort injection. In routine ABTINJ, the contactors are opened, a 100millisecond delay is established, the injection pointer is set equal to9, and the program loops back to MAIN.

If the contactor is closed, INJ-1 then turns on the rectifier, sets a 50millisecond delay, and sets the injection pointer equal to 2.

In INJ-2, if the 50 millisecond delay is finished, the inverter isturned to its IDLE mode, whereafter a 50 millisecond delay isestablished and the injection pointer is set equal to 3.

When this 50 millisecond delay is finished, INJ-3 closes the injectioncontactors, sets a 100 millisecond delay, and sets the injection pointerequal to 4.

When this delay is finished, INJ-4 checks to see if the injectioncontactor has closed. If it has, it checks the shoot-through counter tosee if it has counted more than three shoot-throughs for this particularpulse. If so, a pulse code generator error is set and the injection isaborted. If not, a pulse timer is started and the injection pointer isset to 5.

In INJ-5, a timer count is obtained from a counter which is beingdecremented by a 60 Hertz clock. A table of numbers are stored thatcorrespond to time and indicates when each of the 41 pulses in the pulsecode should be sent. The first step in INJ-5 is to check to see whetherthe current timer count is proper by comparing it with the table count.If it is, the pulse indication is obtained from an internal buffer setup by a set injection code message in the substation injection unit andis checked to see if there should be a pulse in that position. If thereshould not, the injection pointer is set to 7 and the program cycles toMAIN. If there should in fact be a pulse in the position indicated, theshoot-through counter is cleared, the inverter is set to INJECTwhereupon generation of a 340 Hertz pulse is initiated. A 50 milliseconddelay is then set, and the injection pointer is set equal to 6.

In routine INJ-6, if the 50 millisecond delay has expired, the powerlevel from the rectifier is changed to its preselected or full value.This is achieved through the rectifier controller, as explained above.Therefore, when the inverter controller initially goes to INJECT inINJ-5, it provides a low voltage level on the output of the rectifiers,after which in INJ-6 the output voltage of the rectifier is raised toits nominal desired value. This is known as a "soft start". Theinjection pointer is then set to 7.

In routine INJ-7, the program first looks to see if the pulse has beencompleted. If it has, the information obtained from the special receiveror pulse generator is examined to see if there was or was not a pulse.The output of the rectifier is then set back to the minimum power level,a 50 millisecond delay is set, and the injection pointer is set equal to8.

If the delay is finished in INJ-8, the inverter is set to IDLE whichstops the injection of the 340 Hertz pulse. The routine then checks tosee if the shoot-through counter is greater than three for thisparticular phase. If it is, a pulse code generator error is set and theinjection is aborted. If it is not, the contents of the shoot-throughcounter is added to the previous count, and the total is checked to seeif it is greater than or equal to 8. This loop allows threeshoot-throughs per pulse and a total of eight shoot-throughs on allpulses output during a single injection. The program then checks to seeif the last pulse in the train has been sent. If it has, this injectioncycle is over and the program loops to the abort injection routineABTINJ. If the last pulse has not been sent, the injection pointer isset to 5 to check the next pulse.

Routine INJ-9 comes into play when an injection is aborted under theABTINJ routine. The INJ-9 routine first checks to see if the 100millisecond delay has expired. It it has, it checks to see if thecontactor has been opened as requested in the ABTINJ routine. If it hasnot been opened, a contactor error is indicated. In any event, theinverter is turned to its OFF mode, a 50 millisecond time delay is set,and the injection pointer is set to 10.

In routine INJ-10, when the 50 millisecond time delay has expired, thepower contactor in the main breaker is opened, another 100 millisecondtime delay is set, and the injection pointer is set to 11.

In INJ-11, after the 100 millisecond delay has expired, the programchecks to see if the power contactor has in fact opened. If it has not,contactor error is indicated. In any event, the injection pointer isthen set to zero and the program loops back to MAIN.

Recall that in routine IN-3, the decoded command, after validation, isenabled by going to the routine that handles the particular command.These commands can include a polling command, a set injection codecommand or a report injection code command.

If a polling command is decoded, the master control station hasrequested certain information from the substation injection unit.Several conditions are checked in the routine POLLING COMMAND. Upondetection of a positive condition, a flag or bit is set to indicate thedetected condition. As is apparent from the flow chart, the followingconditions are checked: whether the substation injection unit modeswitch is in its manual position; whether any SCRs are overtemperature;whether the cabinet is overtemperature; whether there is neutral shifterror; whether there is a contactor error; and whether there is a pulsecode generator error. After the status conditions are checked, and theappropriate flags or bits are set, the routine starts an analogconversion, inputs any new analog values, obtains the external discreteinputs, and generates a polling response, then looping to the messagetransmit or MESXMT routine.

In the MESXMT routine, the substation injection address is set, theoutput pointer is set equal to one, and the input pointer is set equalto zero, whereupon the substation injection unit is ready to transmit tothe master control station.

If the desired command is to set the injection code, the program loopsto the SET INJECTION CODE routine. The injection code received from themaster control station is saved in a buffer. Next, a response message isgenerated using the received injection mode, and a one minute timeout isset. The program then loops to MESXMT to transmit the message back tothe master control station for verification.

If the decoded command is to report the injection code, the programloops to the REPORT INJECTION CODE routine. First, the injection coderead from the special substation injection unit receiver or pulsegenerator is obtained, and a response message is generated. The programthen loops to MESXMT to transmit the message back to the master controlstation.

Obviously, numerous modifications and variations of the presentinvention are possible in light of the above teachings. It is thereforeto be understood that, within the scope of the appended claims, theinvention may be practiced otherwise than as specifically describedherein.

What is claimed is:
 1. A system for permitting an electric power utilityto control the distribution of its three-phase, AC high voltage poweralong its power lines from a plurality of substations to a plurality ofcustomer loads arranged in groups, which comprises:a master controlstation including first programmable digital data processor means andinput/output devices under the control of an operator for generatingdata signals in response to group control command signals; a pluralityof substation injection units in two-way communication with said mastercontrol station, each of said units located at a different one of saidsubstations and having its own programmable digital data processormeans, each of said substation injection units responsive to said datasignals for generating pulse code signals for injection onto said powerlines; and a plurality of remote receiver units each located at andconnected to control one of said customer loads and responsive to aparticular one of said pulse code signals for connecting ordisconnecting its load from said power lines; and wherein said mastercontrol station includes: means for polling each of said substationinjection units to obtain information pertaining to its status, possiblealarm conditions, and analog or discrete data generated at therespective substation; means for transmitting and receiving serialbinary block messages to and from each of said substation injectionunits, said block messages including substation injection unit addressdata, substation injection unit function commands and said data signals;and means for prioritizing and executing said group control commands. 2.Apparatus as set forth in claim 1, wherein said data signals are adaptedto be transmitted over telephone lines, and wherein said master controlstation further comprises means for converting said data signals fortransmission over telephone lines.
 3. Apparatus as set forth in claim 2,further comprising interface means for connecting said master controlstation and said input/output devices, said master control stationfurther including means for initializing said interface means. 4.Apparatus as set forth in claim 2, wherein said remote receiver unitsfurther comprise contact means, and wherein said master control stationfurther comprises means for switching said contact means on and off. 5.In a load management system wherein a master control station is intwo-way communication with a plurality of substation injection unitslocated respectively at a plurality of substations, and a plurality ofremote receiver units are in one-way communication, respectively, with aplurality of customer loads arranged in groups, a method of permittingan electric power utility to control the distribution of itsthree-phase, AC high voltage power along its power lines from saidplurality of substations to said plurality of customer loads, whichcomprises the steps of:generating load group command signals; generatingdata signals in response to said load group command signals; generatingpulse code signals for injection onto said power lines in response tosaid data signals; alternately switching said loads on and off inresponse to said pulse code signals from said power lines; polling eachof said substation injection units to obtain information pertaining toits status, possible alarm conditions, and analog or discrete datagenerated at the respective substations; transmitting and receivingserial binary block messages to and from each of said substationinjection units, said block messages including substation injection unitaddress data, substation injection unit function commands and said datasignals; and prioritizing and executing said group control commands.